查看原文
其他

直播回顾丨百度ACU如何满足自动驾驶量产需求

王阳 Apollo开发者社区 2022-07-29


百度ACU(Apollo Computing Unit)是Apollo面向量产的自动驾驶车载计算单元,根据不同需求场景的计算能力要求,分为多个系列产品。ACU-Advanced是行业首创的自主泊车产品Apollo Valet Parking专用车载计算平台,目前已量产下线用于客户的量产车型中。





ACU-Advanced软硬一体的解决方案:


  • 能够支持5路摄像头,12路超声波雷达,预留毫米波雷达和激光雷达接口;

  • 基于Xilinx ZU5(FPGA)设计,适配百度PaddlePaddle深度学习框架;

  • 全面部署AUTOSAR,全车规基础软件开发;

  • 严谨的软硬件安全合规设计,全面满足AVP场景需求(ASIL-B);

  • 100%全车规元器件,抗冲击震动,耐电磁干扰,全面胜任车载环境;

  • -40℃~85℃超宽工作温度,自然风冷无需风扇或水冷;

  • 设计流程,供应链和生产管控基于IATF16949质量管理体系。



为了让客户、合作伙伴以及开发者能够更加深入了解百度ACU(Apollo Computing Unit),本次公开课邀请了百度ACU核心技术团队的工程师,为大家准备了4期公开课直播。今天为大家送上第一期直播内容回顾,如果你错过了直播,那么这次的直播回顾你一定不能错过。阿波君给大家整理好了笔记,快来一起学习吧!



第一讲:软硬兼备的自动驾驶量产方案




本次公开课由百度智能驾驶事业部、百度Apollo Computing Unit 首席架构师——王阳为我们讲解:作为国内首个“真“量产自动驾驶硬件平台,百度ACU如何做到满足自动驾驶行业的量产需求?以下是课程中的精彩内容节选和讲解:



大家都在谈自动驾驶量产,但彼此的关注点不尽相同。如果把实现自动驾驶比作一个金字塔,我们会发现各种不同的解读。算法工程师关注的是位于塔尖的主算法,认为无论是前装还是后装的车,只要算法能稳定、流畅的运行,就是量产,算法之外他们最多考虑一下操作系统和底层软件,而对其他的部分并不关心;汽车工程师认为无论自动驾驶如何实现,它都是整车的一个子系统,需要像车上的其它零部件一样遵循整车研发的各种规范;硬件工程师认为做一个盒子,通过车规级的各种验收即是量产;芯片供应商认为有一颗算力非常好的芯片,能够支持算法,耐高温,符合车规,就是量产了。实际的量产系统,是所有需求的整合,不仅要有主算法,还要有计算加速单元以及下面的软硬件结合。


▲ACU架构▲


百度ACU对量产系统的理解。包含算法实现、底软、计算优化、车规交付、量产硬件等模块,以及安全这个贯穿全局的方法论。



百度ACU-AVP是行业首创的AVP量产平台,具有基于学习建图的记忆泊车、基于高精地图的自动泊车以及全息影像、近距报警等功能,100%全车规元器件,完整通过车规DV/EMC验证,性能稳定可靠。



为什么自动驾驶系统在高算力的SoC环境之外,还需要一个算力并不突出的车规MCU?这是因为汽车行业中有各种实战性的场景,没有技术上的瓶颈,但对实现的可靠性、易用性有极高要求。试举几个例子:比如UDS诊断,当车的驾驶舱报警说变速箱有问题,在4S店检测时,是不能指望软件工程师远程登录、分析log来调试的。UDS协议和诊断仪的操作是维修技师唯一能够掌握的方案。XCP标定,比如在高速上跟车,跟车的紧和松的状态不同,动力也不同,互联网软件工程师会发布不同的版本来实现。但是量产的车型不能靠更新版本来解决上述问题,在这个过程中要怎么实现呢?需要XCP的标定。又如,软件工程师或许会把CAN理解为一个硬件接口设备,把CAN通信理解为OS下的驱动实现,但考虑到CAN的错误可能导致车毁人亡的后果,这样的实现有极大的风险。我们需要依赖AUTOSAR对于各类通信的各类可靠实现,以及传统开发模式中对信号、网络的严谨要求,才可以保证安全。


在做一个软硬一体的自动驾驶设备的时候,AUTOSAR是必不可少的。但是如何和高性能处理器连接起来呢?物理层上的以太网连接很简单,但是在应用层上打通是困难的。简言之,QNX/Linux (POSIX based)和Classic AUTOSAR (OSEK based)之间的通信存在鸿沟,解决这个问题,要么就是从Linux到AUTOSAR之间做延展,实现DDS on Classic AUTOSAR;或者用AUTOSAR的解决方案延展至QNX/Linux,就是我们在定义的Adaptive AUTOSAR,这两者都有可能,但是亦都有难度。百度同时实现了两种方案,并对其进行了封装抽象,命名为UMB(Unified Message Bus),无论哪种方案要做量产,都可以解决。值得一提的是,ACU是全球第一个实现了DDS在Classic AUTOSAR部署的产品。百度与DDS厂商联合开发,攻克了这一难题,实现了全球首发。打通DDS在Classic AUTOSAR上的部署之后,很多事情都变得迎刃而解。在此基础上,接入一些基础软件的其他的功能,比如车身信号的传感器、AI加速器、自定义算子,加上网络管理、硬件监控/安全响应,打包完成一个ACU基础软件环境——盖亚。在基础软件环境之上,可以很方便地增加自动驾驶的功能,比如自动泊车、全景环视、高速辅助并且支持二次开发。



实际工程中出现的视频输入异常的情况包括:Sensor芯片错误、 ISP高温异常 、驱动切帧、线束连接异常等。但除此之外,显然还有其他情况会导致视频输入异常从而影响行车安全问题,如何穷举各类风险?这时就需要有功能安全的方法论。由上图可以看出,根据功能安全的流程分析,我们可以得到视频流的全部失效模式并一一应对。这是功能安全指导实际开发的一个案例。



融合ISO26262、ISO21448(SOTIF)和AI开发实践的总体流程图,是百度执行自动驾驶开发的流程总纲。



上图是百度总结的一个自动驾驶设备量产的各个阶段需做的工作。在传统制造业上,都是以制造和模具为阀点来驱动。但重软件的产品显然无法照搬这样的定义。将软件开发与16949相融合,既保证软件的敏捷性又保证系统的严谨质量,以上的工作拆解体现了百度的理解和实践。


以上就是我们讲解的软硬结合自动驾驶量产设备的能力,更多系列主题讲解,请持续关注Apollo开发者社区。




点击文章左下角『阅读原文』

可观看直播回放







您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存